package com.freemalll.system.domain;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.freemalll.common.core.annotation.Excel;
import com.freemalll.common.core.annotation.Excel.ColumnType;
import com.freemalll.common.core.web.domain.AuditEntity;

/**
 * 组织机构账户关系表 sys_organization_act_rel
 * 
 * @author freemalll
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_organization_act_rel")
public class SysOrganizationActRel extends AuditEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    @Excel(name = "主键ID", cellType = ColumnType.STRING)
    private String id;

    /** 账户id */
    @TableField("account_id")
    @Excel(name = "账户id")
    @NotBlank(message = "账户id不能为空")
    @Size(min = 0, max = 32, message = "账户id不能超过32个字符")
    private String accountId;

    /** 账户类型 admin超级管理员 pub公共 pri私有 */
    @TableField("account_type_code")
    @Excel(name = "账户类型", readConverterExp = "admin=超级管理员,pub=公共,pri=私有")
    @Size(min = 0, max = 10, message = "账户类型不能超过10个字符")
    private String accountTypeCode;

    /** 是否是行政组织机构,1是行政 0=非行政 */
    @TableField("xz")
    @Excel(name = "是否行政组织", readConverterExp = "1=是行政,0=非行政")
    private Integer xz;
}